<?php 
/**
 * alltosun.com  material_helper.php
 * ============================================================================
 * 版权所有 (C) 2009-2015 北京互动阳光科技有限公司，并保留所有权利。
 * 网站地址: http://www.alltosun.com
 * ----------------------------------------------------------------------------
 * 许可声明: 这是一个开源程序，未经许可不得将本软件的整体或任何部分用于商业用途及再发布。
 * ============================================================================
 * $Author: 王磊 (wangl@alltosun.com) $
 * $Date: 2015-12-15 上午11:05:33 $
*/
class material_helper
{
    /**
     * 取省市列表
     */
    public static function get_province($prent_id, $depath)
    {
        $filter = array(
            'parent_id'  =>  $prent_id,
            'depth'     =>  $depath, 
            'status'    =>  1
        );
        return _model('region')->getList($filter);
    }

    /**
     * 取素材列表
     * @param unknown $filter
     */
    public static function get_material_list($filter = array(), $limit = '')
    {
        if (!$filter) {
            $filter = array('progress'=>2, 'status'=>1);
        }
        return _model('material')->getList($filter, $limit);
    }

    /**
     * 根据素材id,取出素材的信息
     * @return boolean
     */
    public static function get_material_info($material_id)
    {
        if (!$material_id) {
            return false;
        }
        return _uri('material', $material_id);
    }

    /**
     * 取某个播放单中素材的id
     */
    public static function get_play_material_ids($play_list_id)
    {
        if (!$play_list_id) {
            return false;
        }
        $filter = array('play_list_id'=>$play_list_id);
        $play_material_list = _model('play_material')->getList($filter);

        $info = array();

        foreach ($play_material_list as $k=>$v) {
            $info[] = $v['material_id'];
        }
        return $info;
    }

    /**
     * 取出某个播放单中素材信息
     */
    public static function get_play_list_material($play_list_id)
    {
        if (!$play_list_id) {
            return false;
        }
        $info = array();

        $filter = array('play_list_id'=>$play_list_id);
        $play_material_list = _model('play_material')->getList($filter, 'ORDER BY `sort` DESC, `add_time` ASC');

        foreach ($play_material_list as $k=>$v) {
            $info[] = self::get_material_info($v['material_id']);
        }
        return $info;
    }

    /**
     * 取出不在播放单中的素材列表
     * @param int   $play_list_id 播放单的id
     * @param array $filter       取素材列表的查询条件
     */
    public static function not_in_play_list($play_list_id, $filter = array())
    {
        // 所有的素材
        $material_list = self::get_material_list($filter);

        // 播放单中的素材
        $in_play_material_ids = self::get_play_material_ids($play_list_id);

        foreach ($material_list as $k=>$v) {
            if (in_array($v['id'], $in_play_material_ids)) {
                unset($material_list[$k]);
            }
        }
        return $material_list;
    }
}
?>